package com.ssy.lingxi.pay.controller.pc;

import com.ssy.lingxi.common.constant.pay.BalanceTypeEnum;
import com.ssy.lingxi.pay.api.common.*;
import com.ssy.lingxi.pay.api.common.allInPay.*;
import com.ssy.lingxi.pay.common.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

/**
 * @author lqa
 * @version 2.0.0
 * @date 2022/2/15
 */
@RestController
@RequestMapping("/pay/test")
public class TestController {

    @RequestMapping("/test1")
    public void test1() {
        CreditTradeOperationEnum[] values = CreditTradeOperationEnum.values();
        for (CreditTradeOperationEnum value : values) {
            String message = value.getMessage();
            System.out.println(message);
        }
        System.out.println(CreditTradeOperationEnum.getItemMessage(1));

    }

    @RequestMapping("/test")
    public String test() throws IOException {
        String filepath = "d:/messages.properties";

        List<String> content = new ArrayList<>();
        for (AllInPayEnterpriseStateEnum value : AllInPayEnterpriseStateEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getName()));
        }

        content.add("");

        for (AllInPayErrorCodeEnum value : AllInPayErrorCodeEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMsg()));
        }

        content.add("");

        for (AllInPayIndustryEnum value : AllInPayIndustryEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getName()));
        }

        content.add("");

        for (AllInPayMemberTypeEnum value : AllInPayMemberTypeEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getName()));
        }

        content.add("");

        for (AllInPayPersonalStateEnum value : AllInPayPersonalStateEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getName()));
        }

        content.add("");

        for (EAccountPayStatusEnum value : EAccountPayStatusEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (TradeTypeEnum value : TradeTypeEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getName()));
        }

        content.add("");

        for (AccountTypeEnum value : AccountTypeEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (CcbB2bPayRefundEnum value : CcbB2bPayRefundEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (CcbB2bPayResultEnum value : CcbB2bPayResultEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (CcbDigitalPayResultEnum value : CcbDigitalPayResultEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (CcbDigitalPayTypeEnum value : CcbDigitalPayTypeEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (EAccountStatusEnum value : EAccountStatusEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (ServiceTypeEnum value : ServiceTypeEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (AccountStatusEnum value : AccountStatusEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (CommonBooleanEnum value : CommonBooleanEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (CreditApplyLowerInnerStatusEnum value : CreditApplyLowerInnerStatusEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (CreditApplyOuterStatusEnum value : CreditApplyOuterStatusEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (CreditApplySuperiorActionEnum value : CreditApplySuperiorActionEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (CreditApplySuperiorInnerStatusEnum value : CreditApplySuperiorInnerStatusEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }


        content.add("");

        for (CreditApplyTypeEnum value : CreditApplyTypeEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }


        content.add("");

        for (CreditRepayStatusEnum value : CreditRepayStatusEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }


        content.add("");

        for (CreditStatusEnum value : CreditStatusEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }


        content.add("");

        for (CreditTradeOperationEnum value : CreditTradeOperationEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }


        content.add("");

        for (CreditTradeStatusEnum value : CreditTradeStatusEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }


        content.add("");

        for (PayChannelEnum value : PayChannelEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }


        content.add("");

        for (PayTypeEnum value : PayTypeEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }

        content.add("");

        for (TradeOperationEnum value : TradeOperationEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }
        content.add("");

        for (TradeStatusEnum value : TradeStatusEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }
        content.add("");

        for (WechatErrorEnum value : WechatErrorEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getMessage()));
        }
        content.add("");

        for (BalanceTypeEnum value : BalanceTypeEnum.values()) {
            String key = value.getClass().getName();
            content.add(key.substring(key.lastIndexOf(".") + 1).concat(".").concat(String.valueOf(value.getCode())).concat("=").concat(value.getName()));
        }




        Files.write(Paths.get(filepath), content, StandardCharsets.UTF_8);
        return "ok";
    }
}
